m.Interno = paciente.Interno

Create cursor cConta ;
  ( ;
    Quem       C( 1), ;
    Tipo       C( 1), ;
    Medico     N( 2), ;
    Nome       C(40), ;
    data       D, ;
    hora       C( 5), ;
    guia       C(10), ;
    Nomepac    C(40), ;
    Convenio   N( 2), ;
    servico    C( 8), ;
    quantidade N( 8,3), ;
    valor      N(13,2), ;
    valorfilme N(13,2), ;
    presente   L, ;
    retorno    L, ;
    ValReceber N(13,2)  ;
  )
  
Select quem, tipo, medico, nome, ;
       data, hora, guia, nomepac, a.convenio, servico, quantidade, valor, ;
       valorfilme, presente, retorno, ;
       round( quantidade * (valor+valorfilme), 2) as ValReceber ;
  from Movmento a, Medicos b ;
 where a.Quem     = 'M'        ;
   and a.Medico   = b.Codigo   ;
   and a.Situacao = 'A'        ;
   and a.Paciente = m.Interno  ;
   and a.Presente  ;
 order by a.medico ;
  into cursor cTotMed
  
scan all
     scatter memvar
     insert into cConta from memvar
endscan
use

Select quem, tipo, medico, nome, ;
       data, hora, guia, nomepac, a.convenio, servico, quantidade, valor, ;
       valorfilme, presente, retorno, ;
       round( quantidade * (valor+valorfilme), 2) as ValReceber ;
  from Movmento a, Anestesi b ;
 where a.Quem     = 'A'        ;
   and a.Medico   = b.Codigo   ;
   and a.Situacao = 'A'        ;
   and a.Paciente = m.Interno  ;
   and a.Presente  ;
 order by a.medico ;
  into cursor cTotMed
  
scan all
     scatter memvar
     insert into cConta from memvar
endscan
use

Select 'C' as quem, tipo, 0 as medico, 'Clinica' as nome,  ;
       data, hora, guia, nomepac, a.convenio, servico, quantidade, valor, ;
       valorfilme, presente, retorno, ;
       round( quantidade * (valor+valorfilme), 2) as ValReceber ;
  from Movmento a ;
 where a.Quem  not in ('M', 'A' )  ;
   and a.Situacao = 'A'        ;
   and a.Paciente = m.Interno  ;
   and a.Presente  ;
 order by a.medico ;
  into cursor cTotClin
  
scan all
     scatter memvar
     insert into cConta from memvar
endscan
use

Select cConta

index on quem+str(medico,2)+dtos(Data)+hora tag datahora
